1. Field of the Invention
Embodiments of the present invention relate, in general, to secure data transfer to hard disk drives using a System on a Chip (SoC) and more particularly to securing data on an external buffer associated with a SoC using an eXclusive Or (XOR) encryption methodology.
2. Relevant Background
Host devices such as computers, laptops, personal digital assistants, MP3 players, game consoles, set top boxes, digital cameras and other electronic devices often need to store and access large amounts of data. Storage devices such as hard disk drives (HDD) are often used to meet the data storage needs of such devices. The transfer and storage of data dates back to the origination of the computer. Where and how do you store the programs, data and calculations? Over the years the answers to those questions have resulted in faster and more capacious methods of mass storage. There are numerous concepts to consider in the transfer and storage of data. These include access time, data transfer rate, formatting, compression and more. Many of these questions with respect to data storage and transfer have been resolved on a single chip referred to as a SoC. With respect to data storage, a SoC takes data from a host such as a computer and delivers it to a storage media such as a hard disk drive. One issue to address in the storage of data is that the production of data from a host is rarely continuous or consistent. It would be inefficient to convey data to a storage medium as it arrives from the host. Thus one function of a SoC is to collect data until it is ready to be stored. This collection occurs in a buffer.
FIG. 1 shows an exemplary version of a HDD SoC as would be known to one skilled in the relevant art. The HDD SoC 112 is interposed between a host 146 and a hard disk assembly (HDA) 113. The HDA 113 in this rendition includes a disk platter 114 that is coated with magnetic material 115 and which revolves around and is driven by a spindle motor 116. Generally the spindle motor 116 rotates the platter 114 at a fixed speed during read/write operations as an actuator 118 moves a read/write device 120 over the platter 114 to read/write the data.
The read/write device 120 is located at the distal end of the actuator arm 118 and includes a write element such as an inductor that can generate a magnetic field as well as a read element such as a magnetic-resistive element that can sense a magnetic field present on the platter 114. A preamp circuit 122 amplifies the low level signals from the read element and outputs the data to a read channel 124 located on the HDD SoC 112.
When data is written to the platter 114 a current is generated so as to flow to the read/write device 120. The current is switched, forming a magnetic field which is adopted by the platter 114 and represents data.
The HDD SoC 112 typically includes a buffer 132 linked to the hard disk controller 136. The buffer 132 of the HDD SoC 112 and/or other external memory resources can be (as illustrated in FIG. 1) external to the SoC 112 and linked to the HDC 136 to increase capacity. The buffer 132 stores data associated with the control of the hard disk drive and/or buffers data to allow data to be collected and transmitted as larger blocks so as to improve efficiency. Data stored on an external memory resource must be secure, i.e. external data resources cannot possess data stored in the clear. As is well known to one skilled in the relevant art, data stored on external buffers 132 are generally encrypted using an encryption engine 135.
As one skilled in the art will appreciate, many robust encryption techniques can be used to secure data. The HDD SoC 112 also includes a processor 134 that performs any necessary processing related to the operation of the HDD including that of the hard disk controller 136 and encryption component 135. The hard disk controller 136 communicates with the host device 146 via a HDD interface 136 and the host interface 144.
This encryption engine is generally associated with the host device 146 meaning that upon every read or write command issued by the host 146, the data is first processed by the encryption engine prior to being placed on the buffer 132. Thereafter the data is collected and eventually transferred to the storage device. Data being retrieved from the HDA 113 is collected on the buffer and thereafter decrypted by the encryption engine before transfer to the host. This interaction amongst the host 146, buffer 132 and storage media (client) adds complexity to the HDD SoC 112. In one example an external buffer 132 with a host side encryption scheme has been shown to add 1.4 Mega Gates (MG) to a typical SoC to ensure that data kept on an external buffer remains secure.
One encryption scheme used in this example is a Feistel network-based cipher designed for use with digital data. The cipher is very robust and efficient when implemented in software or, when small, when implemented in hardware. The two primary components of a cipher are the cipher itself (usually positioned on the host) and media key blocks comprising cryptographic values that implement broadcast key distribution and provide renewability in content protection solutions. However the robustness of the cipher increases the complexity of the SoC architecture. Indeed while data housed external to the SoC must be secure, a robust cipher needlessly adds excess complexity to the SoC without providing compensatory security advantages.
A system and associated methodology for securely interfacing with an external memory buffer from a SoC without the added complexity of current encryption techniques is therefore desirable. These and other improvements of the prior art are addressed by one or more embodiments of the present invention as described hereafter by way of example.